Part Number Hot Search : 
95A45 CVA2400 20100 PJSRV 92315 IA0524S CRG01 SFF9130Z
Product Description
Full Text Search
 

To Download USB100 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 USB100 Programmable Low-Cost USB Machine (PLUM)
PRELIMINARY
January 1999
USB100 Programmable Low-Cost USB Machine (PLUM)
Single Chip Controller for Mouse, Trackball, Joystick and Gamepad Applications General Description
The USB100 is a Low cost, fully customizable controller for USB HID-class pointing devices. It is in full compliance with REV 1.0 of the USB standard and implements the HID class specification for mice, trackballs, joysticks and gamepads. This device interprets the commands specified in the HID class document and provides appropriate responses from an On-Chip EEPROM. It also provides ability to customize the device according to individual needs of the designers. Programming utilities supplied with this device allow HID manufacturers to easily create the necessary data to be programmed into the device. The device includes the necessary transceiver for USB operation and meets all of the active and standby current specifications for a bus-powered device.
Features
s USB 1.0 standard compliant s Has the necessary on-chip transceivers s Support for 2D and 3D mice with 2, 3 or more buttons s Supports 3 potentiometer mechanisms for joysticks s Up to 16 buttons for digital gamepads s Choice of 18-pin and 24-pin packages s Choice of 2Kbit and 4Kbit EEPROM densities
Block Diagram
POWER
USB COMMAND PROCESSOR (HID)
TX-FIFO
SERIAL INTERFACE ENGINE
X C V R USB CABLE (D+, D-, POWER & GROUND)
RX-FIFO
STATE MACHINE
EEPROM
UP TO 3 ROLLER/ POTENTIOMETER MECHANISMS
UP TO 16 BUTTONS
Use "A Diagram Number" Style Sheet"
USB100 rev.D (c) 1999 Fairchild Semiconductor Corporation
1
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
Pinout
24 Pin Package
OSC1 OSC2 H4 B8/F RESET H3 H1 H2 V1 V2 O2 GND VDD B6 USBD+ USBDGND B7 B5 B1 B2 B3 B4 O1
18 Pin 3D Package
OSC2 H4 F RESET H3 H1 H2 V1 V2 OSC1 VDD USBD+ USBDGND B1 B2 B3 O1
Pin Description Pin
H4 H3 O2 OSC1 OSC2 B4 Reset H1 H2 V1 V2 GND B7 B6 B5 VDD USBD+ USBDGND B8/F B1/CS B2/SK B3/DI O1/DO
Type
I I I/O I I I I I I I I I I I I I O O I I/O I I I O
Description
Roller/Button/Joystick input. Roller/Button/Joystick input. Register output pin / Button input. Crystal input number 1. Crystal input number 2 Button input Active high reset pin Roller/Button/Joystick input. Roller/Button/Joystick input. Roller/Button/Joystick input. Roller/Button/Joystick input. Ground Button input Button input Button input Positive power supply USB D + line USB D - line Ground Button input / LED driver Button input and chip select to internal EEPROM.* Button input and system clock to internal EEPROM.* Button input and data in to internal EEPROM.* Button input and data out to read from internal EEPROM.*
* See Programming internal EEPROM section
USB100 rev.D
2
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
Absolute Maximum Ratings
Ambient Storage Temperatures All Input or Output Voltages with respect to ground Lead Temperature (Soldering, 10 seconds) ESD Rating -65C to + 150C VCC + 1 to - 0.3V +300% 2000V
Operating Conditions
Ambient Operating Temperature Power Supply (VCC) Range 0C to +70C 4.4V to 5.5V
DC and AC Electrical Characteristics 4.4V VCC 5.5V
Symbol
ICCA ICCS VIL VIH VOL VOH IIL IOL FSK TSKH TSKL TCS TCSS TDH TDIS TCSH TDIH TPD1 TPD0 TSY TDF TWP
Parameter
Operating Current Standby Current Input Low Voltage Input High Voltage Output Low Voltage Output High Voltage Input Leakage Current Output Leakage Current SK Clock Frequency SK High Time SK Low Time Minimum CS Low Time CS Setup Time DO Hold Time DI Setup Time CS Hold Time DI Hold Time Output Delay to "1" Output Delay to "0" CS to Status Valid CS to DO in TRI-STATE Write Cycle Time Note 4 Note 3
Conditions
USB interface in active mode USB interface in suspend
Min
Max
40 500 0.8
Units
mA A V V
2 0.4 2.4 2.5 2.5 0 250 250 250 50 70 100 0 20 500 500 500 100 10 1
V V A A MHz ns ns ns ns ns ns ns ns ns ns ns ns ms
AC Test Conditions
Output Load Input Pulse Levels 1 TTL Gate 0.4V and 2.4V
Timing Measurements Reference Level
Input Output 1V and 2V 0.8V and 2.0V
Note 1: Stress ratings above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and operation of the device at these or any other conditions above those indicated in the operational sections of the specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Note 2: The shortest allowable S clock period = 1/fSK (as shown under the fSK parameter). Maximum SK clock speed (minimum SK period) is determined by the interaction of several AC parameters stated in the datasheet. Within this SK period, both tSKH and tSKL limits must be observed. Therefore, it is not allowable to set 1/fSK = tSKH(minimum) + tSKL(minimum) for shorter SK cycle time operation. Note 3: CS (Chip Select) must be brought low (to VIL) for an interval of tCS in order to reset all internal device registers (device reset) prior to beginning another opcode cycle. (This is shown in the opcode diagrams in the following pages.)
USB100 rev.D
3
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
Interface Pin Descriptions
H1, H2, H3, H4, V1, V2 (Roller/Joystick inputs)
When configured as roller inputs these pins function in pairs, H1 and H2, H3 and H4, V1 and V2 to allow photo diodes to be attached in a mouse or trackball application. See the section "Roller Movement Reporting" for a more detailed description. When configured for a joystick only one of the inputs pairs is used. A potentiometer is attached to track the movements of a joystick lever. When these inputs are configured as buttons they all act independently as active low button inputs. All of them have internal pull-ups and debounce circuitry which can be programmed using the ICB registers. These inputs also contain current sink features so no external resistor is needed to sink current from the photo diode.
O1, O2 Functionality. ICB register 1[3:2] IOM[1:0]
00 01 11
Function
Both O1 and O2 function as programmable outputs. O1 is a programmable output but O2 is a standard button input. Both O1 and O2 are standard inputs.
In case these are selected as outputs, their state (1 or 0) can be set using the USB set_report command. These outputs are opencollector. A typical use of these outputs is using them to drive LEDs (for example, a drag-lock function in a trackball). These pins have a programmable current sink capability.
B1, B2, B3, B4, B5, B6, B7, B8/F (Button inputs)
The button inputs to the USB100 have internal pull up resistors, with active low inputs to the chip. These inputs also contain debounce circuitry which can be programmed by the ICB registers.
B8/F
When this pin is configured as an input it will behave as a standard button input. But if the pin is disabled in the ICB registers then this pin can be used to control the roller LEDS in powersave mode.
Using the B8/F pin to control the LEDs
Key Debounce Select Table (ICB register3[3:2]) KD[1:0]
00 01 10 11 15 ms 30 ms 45 ms 60 ms
VDD USB100 F
This allows the LEDs to be shut off during powersave mode which allows the USB100 to draw very little current. The official name for powersave mode on a USB device is known as suspend mode which is discussed in the section labeled Suspend Mode Operation.
USBD -, USBD +
These inputs are the serial bus lines which USB data is communicated. These bi - directional lines connect to the host, through a USB type A or type B connector, and are used to communicate all USB information to and from the host. The two lines must both be wired through a 27 ohm resistor before being attached to the USB connector. See Recommended Configuration for a detailed diagram.
OSC1, OSC2
These two pins are the clock inputs into the USB100. The speed at which the chip runs at is 6MHz. The clock sign can be generated two ways. The first is to use a parallel resonant, fundamental mode crystal circuit or a ceramic resonator circuit connected to the OSC1 and OSC2 inputs. The other method is to use a crystal oscillator connected to the OSC2 input and leaving the OSC1 input unconnected
Reset
This pin is used to reset the entire chip. It must be held high for more than 10ns, to reset the chip and then brought low for the reset of normal chip operation.
O1, O2
These two pins are wired to internal registers which can be programmed with either a "1" or a "0" by a USB request. If this command is sent to the USB100. INSERT COMMAND FROM INSPECTOR. Then the O1 and O2 pins will be programmed with the values that are in the second data package. These two pins can also be configured as standard button inputs by one of the ICB registers.
USB modes of operation
The USB100 loads up its configuration from the EEPROM on power-on reset, or when a USB reset command is issued. Upon completion of reset, the device is in a operational mode, and responds correctly to the various commands described in the USB spec rev 1.0. The USB100 supports two endpoints - the default endpoint (endpoint 0) and the interrupt endpoint (endpoint 1). The supported packet size on both endpoints is 8 bytes. The endpoint 1 is an "IN" endpoint.
USB100 rev.D
4
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
Standard Requests
The USB100 supports all of the required standard requests. These requests are sent to the device using control transfers to endpoint 0. In USB terminology, the data transmitted by the mouse when movement is detected is called a report. The reports are generated by the USB100 device in accordance to the USB HID spec 1.0 Final.
IS[3:0]
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Current
0.1 mA 0.2 mA 0.3 mA 0.4 mA 0.5 mA 0.6 mA 0.7 mA 0.8 mA 0.9mA 1.0mA
Programming the EEPROM
The on-chip EEPROM can be programmed in a special mode which defines some of the button inputs/output as a microwire port.. In this mode, these inputs behave as a conventional Microwire serial port. Data can be easily programmed and verified, by executing simple EEPROM programming commands.
Initial Configuration Bytes (ICB) register description
The first five bytes in the EEPROM are used to configure the physical characteristics of the USB100 device, and are called the Initial configuration Byte registers. Some of the bits in these registers are reserved, and are referred to as RFU (reserved for future use) in the following section.
Input Pin Configuration Byte 0 (ICB0) (Address 1) D7
B8
D6
B7
D5
B6
D4
B5
D3
B4
D2
B3
D1
B2
D0
B1
Roller Configuration Byte (Address 0) D7
IS3
B[7:0]: Input Pin Report Generator. A `1' causes this bit to be reported in the corresponding report generated when the device is polled for the status. The device accepts only the following bit patterns as valid. B[7:0] control the functionality for pin inputs B[8:1] respectively. 00000000 00000001 00000011 00000111 00001111 00011111 00111111 01111111 11111111
D6
IS2
D5
IS1
D4
IS0
D3
D2
D1
R1
D0
R0
IOM1 IOM0
R[1:0]: No of roller pairs. This pair of bits configure the functionality of the three roller pair inputs - , and . 00: No rollers on this device, all roller inputs are available as general purpose inputs 01: H1, H2 are the only roller mechanism active. The other roller inputs are available as general purpose inputs. 10: H1, H2 and V1 and V2 are defined as roller mechanism pairs. The other pair is still available as general purpose inputs. 11: All the three pairs of roller inputs function as roller inputs. It must be noted that the reassignment of the rollers must be done only as follows: If the application needs to use only one roller - use H1 and H2. Two rollers - use H1, H2 and V1, V2, Three rollers - use H1, H2, V1, V2 and H3, H4. Any other choice for roller use is illegal and results in unpredictable device behavior. IOM[1:0]: I/O functionality of the O0 and O1 pins. When IOM0 is set to `0', the O0 bit functions as an output. When set to `1' it becomes an input. . When IOM1 is set to `0', the O1 bit functions as an output. When set to `1' it becomes an input. The only valid combinations for these bits are 00, 01 and 11 respectively. IS[3:0]: This 4-bit value is to set the amount of current that an external device can sink into the H1, H2, V1, V2 and H3 and H4 inputs When these bits are set to 0000 the current sink is set to 0.1 mA on each of the inputs. In can be varied in steps of 0.1mA up to a max of 1 mA.
Input Pin Configuration Byte 1 (ICB1) (Address 2) D7
IO1
D6
IO0
D5
EB5
D4
EB4
D3
EB3
D2
EB2
D1
EB1
D0
EB0
EB[5:0]: Input Pin Report Generator, Extended byte. The functionality of this register is influenced by the roller configuration byte. A `1' causes this bit to be reported in the corresponding report generated when the device is polled for the status. EB0 corresponds to H3 and EB1 corresponds to H4. EB2 corresponds to V1 and EB3 corresponds to V2. EB4 corresponds to H1 and EB5 corresponds to H2. 00000000 00000001 00000011 00000111 00001111 00011111 00111111
USB100 rev.D
5
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
RFU: Reserved for future use, must be set to 0. IO[1:0]: When the IO pins are reconfigured as inputs, a `1' in the corresponding bit position will cause the input to be included in the report generator.
Descriptor Setup
The EEPROM stores a Descriptor Description Table (DDT) followed by the actual descriptors (DES). The DDT begins at byte address 8 in the EEPROM. It consists of 14 Words. Each Word consists of two bytes - The first byte is a byte indicating the type of descriptor (these byte values are indicated in the USB specification). The second byte is an address. This address indicates the first byte of this descriptor in the EEPROM. An unimplemented descriptor table entry begins with a 00. The following table shows a possible configuration.
Application Configuration Byte (Address 3) D7
FIS3
D6
FIS2
D5
FIS1
D4
FIS0
D3
KD1
D2
KD0
D1
F1
D0
F0
F[1:0]: Function Select. Selects between the following 00 : Mouse operation 01: RFU 10: Joystick Operation. 11: Digital Gamepad operation KD[1:0]: Key Debounce Select:
Address Map Memory AddressRange
08-35 36-53 54-62
Data type
Descriptor Description Table Device Descriptor Config Descriptor Interface Descriptor Mouse HID Class Descriptor Endpoint Descriptor String Descriptor
00: 15 Ms 01: 30 Ms 10: 45 Ms 11: 60 Ms FIS[3:0]: These bits select the amount of current that the `F' pin can sink, in 1 mA increments. When FIS[3:0] = "0000" The current sink is set at 2 mA. Incrementing this count by 1 will cause the current to be increased by 1mA The maximum value is 10 mA.
63-71 72-78 79-86 87-118
Descriptor Description Table (for above example) Address
08
Remote Resume Config Byte (Address 4) D7
RFU
Descriptor type
Device Config Interface Mouse-HID Endpoint String 00 00 00 00 00 00 00 00
Memory Offset
36 54 63 72 78 87 00 00 00 00 00 00 00 00
D6
RFU
D5
RFU
D4
RFU
D3
D2
D1
D0
10 12 14
RRES RRES RRES RRES _EN 2 1 0
RRES_EN: Remote_resume enable. This bit, when set, enables remote resume operation. RRES[2:0]: Duration Select. When the device has entered in suspend mode, these bits select the duration after which an internal "momentary wakeup" is done to check whether there has been any movement on the rollers in the mouse mode or the potentiometers in the joystick mode. The RRES_EN bit must be set to 1 to enable this feature. 000: 15 ms 001: 30 ms 010: 45 ms 011: 60 ms 100: 75 ms 101: 90 ms 110: 105 ms 111: Reserved for future use (do not use this combination, unpredictable operation could result)
16 18 20 22 24 26 28 30 32 34
Roller Movement Reporting
The roller mechanism built on the USB100 is capable of interfacing either to a LED-chopper wheel-Phototransistor system or a mechanical system using a commutator with wiper contacts.
USB100 rev.D
6
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
H1 or V1 or H3
H2 or V2 or H4
Negative Counting
H1 or V1 or H3 H2 or V2 or H4
Positive Counting
v
Q1 D1 Q2 H1 D2
USB100
H2
F
Schematic 1: Roller Mode of Operation
When the Roller configuration register is used to define an input pair as roller inputs, the corresponding roller movement reporting is enabled. In this case, internally, the roller wheel pulses are counted and registered into an 8 bit register. One register is available per input pair. A total of three rollers movement registers (RMRs) are available, corresponding to the three roller mechanisms available. On all the input pairs (H1, H2 or V1, V2 or H3, H4) the positive counting sequence is defined as (0,0), (0,1), (1,1) and (0,0) and the same sequence repeating over again. Negative counting sequence is defined as (0,0), (1,0), (1,1) and (0,1) and the same sequence repeating again. Each of the above transitions will result in the counter incrementing or decrementing by one depending on whether the rollers are moving in the positive or negative direction. Each time an IN query is sent on endpoint 1, the counter contents are transferred to a temporary holding register and queued for transmission on the USB. When an ACK is received for the current transaction, the counter is cleared.
Hardware Features
Roller / Potentiometer Interface One of the key differences between the mouse and joystick hardware implementation is that themouse uses optical encoding
v
P1 P2 H1
USB100
V1
Schematic 2 : Potentiometer Mode of Operation for Joystick
USB100 rev.D
7
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
and a roller wheel to detect mouse movement. In contrast, joystick uses a potentiometer to detect angular motion. The function select bits [F1:0] allow the designer to set the bits. In a mouse mode, the H1, H2, V1,V2 and H3 & H4 inputs are selected for the roller mechanism decode.In the joystick mode, it selects the potentiometer interface. The state machine uses a different algorithm for interpreting the inputs to the chip. This function selection also affects the format of the report that is generated.The roller mode is shown in schematic 1 and the potentiometer mode is shown in schematic 2. In case of the roller mode of operation (mouse/trackball), the transitions on the Hx and Vx pairs are used in the counting process to generate a digital estimate of the motion of the ball. In the joystick mode of operation, the RC timing constant changes the width of an internal digital pulse whose width is measured and reported back. All of the buttons feature an internal pullup. The actual switches used is a push button switch with one terminal connected to a button input and the second terminal connected to ground.
Suspend mode operation
When the PLUM device determines that the necessary conditions (laid down in the USB standard), it goes into the suspend mode. It wakes up on USB bus activity, or when any of the buttons are depressed. There exists an internal timer, whose timing operation could be selected via bits 3 through 0 in ICB register 5. The PLUM device wakes up on the expiration of the timer. It senses the roller/ potentiometer interface to determine if these inputs have changed since the last poll. It does a remote wakeup, when such a movement has occurred.
Remote Wakeup Support
This device supports the remote wakeup feature. This is indicated to the host via the corresponding descriptor. Internally, the state machine uses the values of the RRES_EN and RRES[2:0] bits in the Remote Resume configuration byte to enable this feature, and the amount of time between the "polls" to the roller/potentiometer ports to determine whether the necessary conditions for wakeup have been met.
Crystal / Crystal Oscillator combination
OSC1
OSC2
The above configuration is the recommended configuration for use with a crystal or a ceramic resonator. The capacitors are optional and if used, must be in the 10-30pf range. The resistor is necessary and its value is 1M. A metal-can oscillator may be used too. In this case, the output of the oscillator must be connected to OSC1 and OSC2 must be left unconnected.
Life Support Policy
Fairchild's products are not authorized for use as critical components in life support devices or systems without the express written approval of the President of Fairchild Semiconductor Corporation. As used herein: 1. Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or sustain life, and whose failure to perform, when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to result in a significant injury to the user.
Fairchild Semiconductor Americas Customer Response Center Tel. 1-888-522-5372 Fairchild Semiconductor Europe Fax: +44 (0) 1793-856858 Deutsch Tel: +49 (0) 8141-6102-0 English Tel: +44 (0) 1793-856856 Francais Tel: +33 (0) 1-6930-3696 Italiano Tel: +39 (0) 2-249111-1
2. A critical component is any component of a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system, or to affect its safety or effectiveness.
Fairchild Semiconductor Hong Kong 8/F, Room 808, Empire Centre 68 Mody Road, Tsimshatsui East Kowloon. Hong Kong Tel; +852-2722-8338 Fax: +852-2722-8383
Fairchild Semiconductor Japan Ltd. 4F, Natsume Bldg. 2-18-6, Yushima, Bunkyo-ku Tokyo, 113-0034 Japan Tel: 81-3-3818-8840 Fax: 81-3-3818-8841
Fairchild does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and Fairchild reserves the right at any time without notice to change said circuitry and specifications.
USB100 rev.D
8
www.fairchildsemi.com


▲Up To Search▲   

 
Price & Availability of USB100

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X